由于本人代码不精,连深搜都快忘光了……
难得写个题,于是来记录一下我的做法。
首先,这是一道深搜题,但很明显,一个一个字母去搜肯定会炸,怎么办呢?
我们很容易想到的就是一个一个位置的去搜。
大家都学过竖式加法,从右往左,从上往下,就按这个顺序一个位置一个位置的搜,很明显就要快一些。
那么这样就能过了吗?不是,还需要剪枝。
在这样一个搜索顺序的基础上,搜完一条加一次判定,虽然会用一些时间,但和它省下来的时间比简直不值一提。
废话不多说,看代码注释
1 |
|
注:
搜索顺序从0到n-1跑的要慢一些,建议学我,从n-1到0去搜
从0到n-1
从n-1到0
其实也就是这样不是
我的代码还有些地方可以优化,我也懒得改了orz(躺